package com.ybkj.o2o.sales.entity.passenger;

import java.io.Serializable;

/**
 * 乘客账户记录.
 * 
 * @author Administrator
 *
 */
public class PassengerAccount implements Serializable {

  public static final String OPERATING_SYS = "系统";// 系统

  public static final String DIFFERENT_POSITIVE = "Positive";// >0

  public static final String DIFFERENT_NEGATIVE = "Negative";// <0

  public static final int ORDER_TYPE_DAIJIA = 0;
  public static final int ORDER_TYPE_ZHUANCHE = 1;
  public static final int ORDER_TYPE_PAOTUI = 2;
  public static final int ORDER_TYPE_ZUCHE = 3;

  private Long id;

  private Long passenger_id; // 乘客Id

  private String passenger_phone; // 乘客电话

  private String passenger_name; // 乘客姓名

  private Long enterprise_id; // 企业Id

  private String enterprise_name; // 企业姓名

  private Double money; // 操作金额

  private Double afterDrawMoney; // 操作后可提现金额

  private Double afterNoDrawMoney;// 操作后不可提现金额

  private Double afterFrozenMoney;// 操作后冻结金额

  private String orderNo; // 订单号

  private Long orderId; // 订单Id

  private Integer orderType; // 订单类型0代驾,1专车,2跑腿,3租车

  private String payType; // 支付类型

  private String details; // 明细

  private String operator; // 操作人

  private String tradeNo; // 流水号

  private String created;

  private String updated;

  private Integer version;

  private static final long serialVersionUID = 1L;

  public Long getId() {
    return id;
  }

  public void setId(Long id) {
    this.id = id;
  }

  public Long getPassenger_id() {
    return passenger_id;
  }

  public void setPassenger_id(Long passenger_id) {
    this.passenger_id = passenger_id;
  }

  public String getPassenger_phone() {
    return passenger_phone;
  }

  public void setPassenger_phone(String passenger_phone) {
    this.passenger_phone = passenger_phone == null ? null : passenger_phone.trim();
  }

  public String getPassenger_name() {
    return passenger_name;
  }

  public void setPassenger_name(String passenger_name) {
    this.passenger_name = passenger_name;
  }

  public Long getEnterprise_id() {
    return enterprise_id;
  }

  public void setEnterprise_id(Long enterprise_id) {
    this.enterprise_id = enterprise_id;
  }

  public String getEnterprise_name() {
    return enterprise_name;
  }

  public void setEnterprise_name(String enterprise_name) {
    this.enterprise_name = enterprise_name;
  }

  public Double getMoney() {
    return money;
  }

  public void setMoney(Double money) {
    this.money = money;
  }

  public Double getAfterDrawMoney() {
    return afterDrawMoney;
  }

  public void setAfterDrawMoney(Double afterDrawMoney) {
    this.afterDrawMoney = afterDrawMoney;
  }

  public Double getAfterNoDrawMoney() {
    return afterNoDrawMoney;
  }

  public void setAfterNoDrawMoney(Double afterNoDrawMoney) {
    this.afterNoDrawMoney = afterNoDrawMoney;
  }

  public Double getAfterFrozenMoney() {
    return afterFrozenMoney;
  }

  public void setAfterFrozenMoney(Double afterFrozenMoney) {
    this.afterFrozenMoney = afterFrozenMoney;
  }

  public String getOrderNo() {
    return orderNo;
  }

  public void setOrderNo(String orderNo) {
    this.orderNo = orderNo == null ? null : orderNo.trim();
  }

  public Long getOrderId() {
    return orderId;
  }

  public void setOrderId(Long orderId) {
    this.orderId = orderId;
  }

  public Integer getOrderType() {
    return orderType;
  }

  public void setOrderType(Integer orderType) {
    this.orderType = orderType;
  }

  public String getPayType() {
    return payType;
  }

  public void setPayType(String payType) {
    this.payType = payType == null ? null : payType.trim();
  }

  public String getDetails() {
    return details;
  }

  public void setDetails(String details) {
    this.details = details == null ? null : details.trim();
  }

  public String getOperator() {
    return operator;
  }

  public void setOperator(String operator) {
    this.operator = operator == null ? null : operator.trim();
  }

  public String getTradeNo() {
    return tradeNo;
  }

  public void setTradeNo(String tradeNo) {
    this.tradeNo = tradeNo == null ? null : tradeNo.trim();
  }

  public Integer getVersion() {
    return version;
  }

  public void setVersion(Integer version) {
    this.version = version;
  }

  public String getCreated() {
    return created;
  }

  public void setCreated(String created) {
    this.created = created;
  }

  public String getUpdated() {
    return updated;
  }

  public void setUpdated(String updated) {
    this.updated = updated;
  }

  public String getPayTypeStr() {
    if (null != payType) {
      if (payType.equals("RECHARGE_TYPE_ADMIN")) {
        return "后台充值";
      } else if (payType.equals("PAYTYPE_ADMIN")) {
        return "后台扣费";
      } else if (payType.equals("RECHARGE_TYPE_ACTIVITY")) {
        return "活动返现";
      } else if (payType.equals("RECHARGE_TYPE_ALIPAY")) {
        return "支付宝充值";
      } else if (payType.equals("RECHARGE_TYPE_WX")) {
        return "微信充值";
      } else if (payType.equals("RECHARGE_GIFT_CARD")) {
        return "礼品卡兑换";
      } else if (payType.equals("CASH_MODIFY")) {
        return "修改订单金额";
      } else if (payType.equals("PAYTYPE_CASH")) {
        return "现金支付";
      } else if (payType.equals("PAYTYPE_SIGN")) {
        return "签单支付";
      } else if (payType.equals("PAYTYPE_BALANCE")) {
        return "余额支付";
      } else if (payType.equals("PAYTYPE_ALIPAY")) {
        return "支付宝支付";
      } else if (payType.equals("PAYTYPE_WEIXIN")) {
        return "微信支付";
      } else if (payType.equals("RECHARGE_TYPE_REBATE")) {
        return "推荐提成";
      } else if (payType.equals("RECHARGE_TYPE_RETURN")) {
        return "订单退费";
      } else if (payType.equals("RECHARGE_TYPE_CANCEL_RETURN")) {
        return "销单退费";
      }
      return payType;
    } else {
      return "-";
    }
  }

  public enum PayType {
    /**
     * 后台充值
     */
    RECHARGE_TYPE_ADMIN,
    /**
     * 后台扣取
     */
    PAYTYPE_ADMIN,
    /**
     * 活动返现
     */
    RECHARGE_TYPE_ACTIVITY,
    /**
     * 支付宝充值
     */
    RECHARGE_TYPE_ALIPAY,
    /**
     * 微信充值
     */
    RECHARGE_TYPE_WX,
    /**
     * 礼品卡兑换
     */
    RECHARGE_GIFT_CARD,
    /**
     * 修改订单金额
     */
    CASH_MODIFY,
    /**
     * 现金支付
     */
    PAYTYPE_CASH,
    /**
     * 签单支付
     */
    PAYTYPE_SIGN,
    /**
     * 余额支付
     */
    PAYTYPE_BALANCE,
    /**
     * 支付宝支付
     */
    PAYTYPE_ALIPAY,
    /**
     * 微信支付
     */
    PAYTYPE_WEIXIN,
    /**
     * 推荐提成
     */
    RECHARGE_TYPE_REBATE,
    /**
     * 返还余额
     */
    RECHARGE_TYPE_RETURN,
    /**
     * 销单退款
     */
    RECHARGE_TYPE_CANCEL_RETURN
  }

}
